home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / util / cdity / MRQ.lha / MRQ / Source / RCS / MRQasm.a < prev    next >
Text File  |  2000-10-16  |  1KB  |  86 lines

  1. head    1.1;
  2. access;
  3. symbols;
  4. locks
  5.     msbethke:1.1; strict;
  6. comment    @* @;
  7.  
  8.  
  9. 1.1
  10. date    2000.01.25.16.45.59;    author msbethke;    state Exp;
  11. branches;
  12. next    ;
  13.  
  14.  
  15. desc
  16. @Assembler routines for MRQ
  17. @
  18.  
  19.  
  20. 1.1
  21. log
  22. @Initial revision
  23. @
  24. text
  25. @
  26. ; MRQasm.a
  27. ; Assembler routines for MRQ
  28. ;
  29. ; ©1997-1999 by Matthias.Bethke <Matthias.Bethke@@gmx.net>
  30. ; You are free to modify this source or use parts of it in your
  31. ; own programs as long as they are distributed as freeware.
  32.  
  33. ; $Id:$
  34. ;
  35. ; $Log:$
  36.  
  37.  
  38.     MACHINE 68020
  39.  
  40.     XREF _rtEZRequestAPatch
  41.     XREF _OldEasyRequestArgs
  42.     XREF _OldrtEZRequestA
  43.  
  44.     XDEF _rtEZRequestA_Wedge
  45.     XDEF @@RDF_StuffChar
  46.     XDEF _CallOldERA
  47.     XDEF _CallOldrtEZRA
  48.  
  49. _LVOEasyRequestArgs    = -558
  50. _LVOrtEZRequestA    = -66
  51.  
  52.  
  53. ; StuffChar-function for RawDoFmt() with buffer checking
  54. @@RDF_StuffChar:
  55.     movem.l    a0/d1-d2,-(sp)
  56.     movem.l    (a3),d1/d2/a0
  57.     cmp.l    d2,d1
  58.     bge.s    .nowrite
  59.     move.b    d0,(a0,d1.w)
  60.     addq.l    #1,d1
  61.     move.l    d1,(a3)
  62. .nowrite:
  63.     movem.l    (sp)+,a0/d1-d2
  64.     rts
  65.  
  66.  
  67. ; patched into rtEZRequestA() to avoid parameter register a4 to clash
  68. ; with SAS/C's relative addressing via a4
  69. _rtEZRequestA_Wedge:
  70.     move.l    a5,-(sp)
  71.     move.l    a4,a5
  72.     jsr    _rtEZRequestAPatch
  73.     move.l    (sp)+,a5
  74.     rts
  75.  
  76.  
  77. ; Calls the old EasyRequestArgs() function
  78. _CallOldERA:
  79.     move.l    _OldEasyRequestArgs,-(sp)
  80.     rts
  81. ; Calls the old rtEZRequestA() function
  82. _CallOldrtEZRA:
  83.     move.l    _OldrtEZRequestA,-(sp)
  84.     rts
  85. @
  86.